package com.ht.modules.device.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ht.modules.device.entity.DeviceElectricityHour;
import com.ht.modules.device.entity.DeviceElectricityHourVo;
import com.ht.modules.device.entity.DeviceElectricityStatisticVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  电表小时数据
 * @Author:
 * @Date: 2025-03-25
 * @Version: V1.0
 */
public interface DeviceElectricityHourMapper extends BaseMapper<DeviceElectricityHour> {

    /**
     * 分页列表查询
     *
     * @param page                    分页对象
     * @param deviceElectricityHourVo 参数
     * @param column                  排序列
     * @param order                   排序方式
     * @return 分页列表
     */
    List<DeviceElectricityHourVo> list(Page<DeviceElectricityHourVo> page, @Param("deviceElectricityHourVo") DeviceElectricityHourVo deviceElectricityHourVo, @Param("column") String column, @Param("order") String order);


    /**
     * 根据ID查询Vo
     *
     * @param id 排序方式
     * @return 分页列表
     */
    DeviceElectricityHourVo getVoById(@Param("id") Integer id);

    /**
     * 根据ID数组批量更新
     *
     * @param column 更新字段
     * @param value  更新值
     * @param ids    ID数组
     * @return 更新结果
     */
    int updateBatchByIds(@Param("column") String column, @Param("value") String value, @Param("ids") String[] ids);

    List<DeviceElectricityStatisticVo> queryElectricityMeterDayList(@Param("deviceElectricityStatisticVo") DeviceElectricityStatisticVo deviceElectricityStatisticVo);

	List<DeviceElectricityStatisticVo> queryElectricityMeterHourList(@Param("deviceElectricityStatisticVo") DeviceElectricityStatisticVo deviceElectricityStatisticVo);

}
